perm filename ARMTST.SAI[HAL,HE] blob sn#234001 filedate 1976-09-01 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN
C00005 ENDMK
C⊗;
BEGIN
    EXTERNAL PROCEDURE BAIL;
    REQUIRE "ABBREV.SAI[HAL,HE]" SOURCE_FILE;
    REQUIRE "RECAUX.HDR[HAL,HE]" SOURCE_FILE;

    REQUIRE "ARMSOL.REL[HAL,HE]" LOAD_MODULE;

    INTERNAL RCLASS V3ECT(REAL X,Y,Z);
    INTERNAL RCLASS ROTN(REAL ARRAY RMX;RPTR(V3ECT) AXIS;REAL MAGN,αL,βL);
    INTERNAL RCLASS TRANS(RPTR(ROTN) R;RPTR(V3ECT) P);
    INTERNAL RCLASS SVAL(REAL VAL);
    INTERNAL RPTR(TRANS) YPARK;
    INTERNAL RPTR(TRANS) BPARK;
    EXTERNAL INTEGER PROCEDURE ARMSOL(REAL ARRAY ANGLE; RPTR(TRANS,SVAL) T;
					 INTEGER MECH);

    PRELOAD_WITH  1.,0,0,0,-1.,0,0,0,-1.;
    REAL ARRAY ROT[1:3,1:3],RES[1:6];
    RPTR(TRANS) T;
    RPTR(ROTN) R;
    RPTR(V3ECT) V;
    INTEGER I,J,K;
    T←NEW_RECORD(TRANS);
    R←NEW_RECORD(ROTN);
    V←NEW_RECORD(V3ECT);
    V3ECT:X[V]←43.53125;
    V3ECT:Y[V]←56.855;
    V3ECT:Z[V]←10.95875;
    MEM[LOC(ROTN:RMX[R])]←MEM[LOC(ROT)];
    TRANS:R[T]←R;
    TRANS:P[T]←V;

    BPARK←NEW_RECORD(TRANS);
    PRINT("BPARK"&'15&'12);

    J ← ARMSOL(RES,BPARK,'4);
    IF J THEN PRINT("OUT OF RANGE:",CVOS(J),'12&'15);
    FOR I←1 STEP 1 UNTIL 6 DO PRINT(RES[I],"  ");
    PRINT('12&'15);



    WHILE TRUE  DO BEGIN
    BAIL;
    J ← ARMSOL(RES,T,'4);
    IF J THEN PRINT("OUT OF RANGE:",CVOS(J),'12&'15);
    FOR I←1 STEP 1 UNTIL 6 DO PRINT(RES[I],"  ");
    PRINT('12&'15);
    END

END